package cc.lj.internal.merchant.infrastructure.exception;


import cc.lj.internal.core.exception.IGlobalExceptionEnum;

/**
 * 微信发券服务异常
 *
 * 一共 10 位，分成四段
 *
 * 第一段，1 位，类型
 *      1 - 业务级别异常
 *      2 - 系统级别异常
 * 第二段，3 位，系统类型
 *      001 - 热数据系统
 *      002 - 商户系统
 *      003 - 订单系统
 *      004 - 收款系统
 *      005 - 电子券劵系统
 *      ... - ...
 * 第三段，3 位，模块
 *      不限制规则。
 *      一般建议，每个系统里面，可能有多个模块，可以再去做分段。以用户系统为例子：
 *          001 - OAuth2 模块
 *          002 - User 模块
 *          003 - MobileCode 模块
 * 第四段，3 位，错误码
 *       不限制规则。
 *       一般建议，每个模块自增。
 */

public enum MerchantExceptionEnum implements IGlobalExceptionEnum{

    //==========抢券系统=============
    GET_ONE_PROPERTY_RESOURCE_FAILED(1002001001,"通过主键查询物业资源展位表结果为NULL"),
    PROPERTY_RESOURCES_LIST_NULL(1002001003,"物业资源展位表List查询结果为NULL"),
    MERCHANT_CONTRACT_SIGNED_LIST_NULL(1002001005,"商户合同签订表List查询结果为NULL"),
    MERCHANT_CONTRACT_OBJECTS_LIST_NULL(1002001007,"合同相关各收费项目表List查询结果为NULL"),
    PROPERTY_RELATION_LIST_NULL(1002001009,"物业类型分类表List查询结果为NULL"),
    MERCHNAT_BRAND_RELATION_LIST_NULL(1002001011,"商户品牌关系表List查询结果为NULL" ),
    MERCHAND_BRAND_GETONE_IS_NULL(1002001013,"商户品牌表getById查询结果为NULL"  ),
    MERCHANT_BRAND_RELATION_NOT_ONE(1002001015,"通过商户主键和品牌主键查询品牌关系表无数据"  ),
    MERCHANT_ID_MUST_GT_ZERO(1002001017,"商户主键必须是>0的整数" );

    private int code;
    //错误提示
    private String message;
    //构造器
    MerchantExceptionEnum(int code, String message) {
        this.code = code;
        this.message = message;
    }
    public int getCode() {
        return code;
    }
    public String getMessage() {
        return message;
    }
    public void setCode(int code) {
        this.code = code;
    }
    public void setMessage(String message) {
        this.message = message;
    }
}
